In the design of computer boards, the timing relationship between data signals and the synchronizing clock signals is very critical. Significant skew between the timing of data signals and clock signals can result in errors such as loss of data, and it can also impair the performance of a system. Maintaining adequate timing margin between data signals and clock signals has become ever more difficult as clock signals have increased in frequency.
Prior attempts to calibrate clock and data signals have included complex circuitry that increases manufacturing costs and limits the computer board designer's ability to quickly and easily calibrate clock and data signal timing Other prior attempts to adjust timing relationships between clock signals and data signals include adjusting the length of printed circuit board (PCB) clock traces and adding capacitors and/or resistors to the PCB clock traces. A PCB trace is a path, typically comprised of copper, that carries a signal from one point to another on a PCB. Adjusting the length of a PCB clock trace allows the designer to increase or decrease the time that it will take a signal to travel from one end of the trace to the other end of the trace. This offers a solution that is both precise in timing and very repeatable. However, the method is also very inflexible. Once a clock trace is established on a PCB, the trace cannot be modified without re-design and re-manufacture of the computer board. Thus, adjusting computer board timing by adjusting the length of PCB clock traces can be very time consuming and expensive. Similarly, adding capacitors and/or resistors to the PCB clock traces tends to attenuate the clock signals and slow down the clock signals' transitions. These two effects result in more uncertainty in the clock timing which results in less timing margin.
If a means could be provided whereby the computer board designer could easily adjust the timing relationship between the clock signals and data signals, this would make the development of computer boards easier and faster. This would also improve the performance of the computer board.